defined type
定義 次のいずれかがdefined typeである:
type definition(型定義)によって宣言された型
例えばtype MyType int と書いたときのMyType は defined type
int , bool, string などの事前宣言された型
別の定義もしくは判定法
type literals(型リテラル)以外の全ての型はdefined typeである
[]int は型リテラルなのでdefined typeではない
他との関連性
assignability(代入可能性) の成立条件に使われている
method declarations(メソッド宣言) でreceiver base typeになれるための必要条件になっている
解説
defined typeは仕様書を読むときに非常によく出てくる概念なのに仕様書上ですっきりした完全な定義が書かれていない
https://golang.org/ref/spec#Type_definitions を読むとtype definition(型定義)を使って宣言した新しい型のみがdefined typeであるかのように読めるがこれだとintなどが含まれない
例題
なぜこんなふうになっているのか
defined type 解説アウトライン